查看原文
其他

具体代码实现|6个以太坊DApps的盈利途径(Pt.2)

LoomNetwork LoomNetwork 2018-10-27

在这个文章系列的第一部分中,我们介绍了将你的以太坊DApps货币化的理论方法。 在这一部分,我们将会通过看一些代码示例,来展示如何在Solidity中实际实现它们。


提取资金

首先,你需要有一个能够允许将资金提取到所有者的地址的函数。 这很简单:




当合约调用这个函数时,此函数会将合约的余额转移到owner的地址(使用了非常流行的onlyOwner修饰符模式)。如果你不熟悉如何运用上述关键词,那么我建议你先去完成我们的cryptozombies课程,然后再继续阅读。


免责声明:以下所有示例都经过了简化,以说明如何实现所讨论的函数。 因为我们对商业逻辑做出了假设,所以在创建一套智能合约时我们没有采取任何严格的安全措施。 在推出产品之前,请对你的代码进行全面的安全审核!


1. 做Crowdsale/发布代币

以太坊官方网页(ethereum.org/crowdsale)对此进行了描述。 为了创建安全的crowdsale,建议使用Open Zeppelin创建的审核合约。


2. 高级功能/跳过过程


完整代码请看:https://ethfiddle.com/O3_2o-oqaZ


在这个例子中,用户可以支付1 ether以绕过winCount的升级要求。 然后,所有者会调用之前讨论的withdraw函数,提取资金。


请注意,以太的价格可能在未来急剧上涨(或下跌),这将改变你的高级功能的成本。 因此,在许多情况下,合理的做法是添加一个onlyOwner函数,使你可以在将来更改成本,否则你的应用程序可能会变得非常昂贵。 这也同样适用于后面所有的示例。


3. 收取一定比例的市场交易费用

在这个(非常简化)的例子中,当有人想要购买一个僵尸时,10%的价格会到你的钱包,其余的则被转移到僵尸的所有者手里。


完整合约请看:https://ethfiddle.com/MuApSyO3jx


为了节省一些gas成本,你可以跳过这个函数的第一行,而以太则会被留在合约的余额里。 通过使用我们之前描述的withdraw函数,你可以在稍后的时间里提取合约中所有的以太。


4. 订阅/会员

这里我们将会看一下实现订阅/会员商业模型的例子:

  1. 终身

  2. 基于时间

  3. 基于使用量

我们将创建一个合约,其中一些函数只能由被标记为符合条件的个人才能调用。


终身会员

这是一个简单的例子:创建一个布尔映射、一个检查布尔是否为真值的修饰符、以及一个允许用户付费成为会员的函数。


完整合约请看:https://ethfiddle.com/LgzLNtIIVF


另外,与其使用一个布尔来判断是否为会员,我们可以用一个unit8和不同的会员等级来给予更多的功能访问权:0级为免费用户、1级为银卡会员、2级为金卡会员,以此类推。然后onlySilver()可以检查会员等级是否>=1。


简单吧?我们继续。


基于时间的会员/订阅

这里,我们的商业模式将假设订阅价格为0.005 以太/天。


完整合约请看:https://ethfiddle.com/Dx1jQlgazK


在这种情况下,当一个用户调用renewSubscription函数时,如有必要,subscriptionExpiration将被初始化为now,然后增值用户支付的天数。onlyMember修饰符可以用来检查目前的时间是否已经过期。


基于使用量的会员/付费使用

在这里的商业模式包括了用户提前购买函数的调用,类似于你可以以固定的价格购买API调用。


在这个例子中,用户每以太可以购买1000次调用。 每次用户调用具有onlyIfEnoughCalls修饰符的函数时,在检查它们符合该调用的条件之后,availableCalls变量将递减。


完整合约请看:https://ethfiddle.com/rO0xD9nIl6


以上所有情况中,你只需将相应的only{property}修饰符添加到任何函数中,然后该函数就只能由有权访问它的用户调用。


结论

在这个由两部分组成的系列文章中,我们讨论并实现了一些商业模式,你可以在目标是货币化或盈利的情况下应用于你的Dapp。


我想强调的是,这篇文章中给出的所有代码都是每个模型的一个非常基本的实现,你应该根据自己的具体需求进行调整。


下一步

对DApp开发感兴趣? 来看看我们完全免费的课程,点击“阅读原文”了解如何开始吧。


扫码关注Loom Network

加入我们的僵尸大军


电报私人聊天室(中文社区):https://t.me/loomnetworkcn

想要学习写属于你自己的DApp代码:https://cryptozombies.io/zh

知乎专栏:zhuanlan.zhihu.com/loomnetwork



往期精选:

Loom Network|6个以太坊DApps的盈利途径

Loom Network新春巨献|学习构建区块链Apps发家致富的6个方式

DApp链:通过侧链扩展以太坊DApps

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存